/**
 * 
 */
package at.ac.tuwien.swa075.telco.hlr.service;

import at.ac.tuwien.swa075.telco.hlr.HlrException;

/**
 * @author vovmj01
 *
 */
public interface IRegistry {
	
	/**
	 * Returns the device number associated with the given code and number.
	 * @param code The prefix code that identifies this telco.
	 * @param number The phone number that should be associated with a single device
	 * @return The international mobile enquipment idetification number (imei)
	 * @throws HlrException A problem occured while resolving the phone number. Possible errors are:<br>
	 * 		The telco code is not correct.
	 * 		The number is not associated with any device.
	 * 		An internal error occured while resolving the phone number (e.g. database error, etc.)
	 */
	public String resolveDeviceByNumber(String code, String number) throws HlrException;
	
	/**
	 * Returns the international mobile subscriber identity for a given phone number 
	 * if the phone number is currently associated with this telco.  
	 * @param code The prefix code.
	 * @param number The phone number.
	 * @return The imsi associated with the phone number.
	 * @throws HlrException An error occured while resolving the imsi or the number is not associated localy.
	 */
	public String resolveSubscriberByNumber(String code, String number) throws HlrException;
	
	
}
